const mongoose = require("mongoose");
const { Schema } = mongoose;

const AuthorSchema = new Schema([
  {
    // 作者的昵称，作者的昵称是必须的
    nickname: { type: String },
    // 作者的邮箱，用于登录，唯一
    email: { type: String, required: true, unique: true },
    // 作者的密码，用于登录
    password: { type: String, required: true },
    // 作者的文章列表，数组形式，每个元素为文章的_id
    articles: [{ type: Schema.Types.ObjectId, ref: "Article" }],
    // 作者的草稿列表，数组形式，每个元素为草稿的_id
    drafts: [{ type: Schema.Types.ObjectId, ref: "Article" }],
    // 作者的点赞列表，数组形式，每个元素为点赞的文章的_id
    likesList: [{ type: Schema.Types.ObjectId, ref: "Article" }],
    // 作者的头像，图片连接，后面再处理
    avatar: { type: String },
    // 作者的个人简介
    description: { type: String },
    // 作者的创建时间
    create_time: { type: Date, default: Date.now },
    // 作者的粉丝
    fans: [{ type: String }],
    // 作者的关注的人，数组形式，每个元素为关注的人的email
    followers: [{ type: String }],
    // 作者的收藏列表，数组形式，每个元素为收藏的文章的_id
    // 收藏的总表
    collectList: [
      {
        // 收藏的类型，如文章、视频、音乐等
        // 也可以被称为是收藏夹
        folderName: { type: String },
        // 收藏的具体内容，数组形式，每个元素为收藏的具体文章的_id
        collectItem: [{ type: Schema.Types.ObjectId, ref: "Article" }],
      },
    ],
  },
]);

module.exports = {
  AuthorSchema,
};
